package com.qdxwx.data.service.user;

import com.qdxwx.common.page.PageRequest;
import com.qdxwx.models.order.OrderDetail;
import com.qdxwx.models.user.UserBuy;

import java.util.List;

/**
 * 购买记录
 * Qdx NetSchool Platform
 * @author qdxwx
 * @updateTime 2022/5/25
 * @description
 */
public interface UserBuyService {

    int create(OrderDetail detail);
    /**
     * 根据id获取一条记录
     */
    UserBuy get(long id);

    /**
     * 插入一条记录
     */
    int insert(UserBuy userBuy);

    /**
     * 根据id删除一条记录
     */
    int delete(long id);

    /**
     * 根据条件获取记录数
     */
    int count(UserBuy userBuy);

    /**
     * 根据条件获取记录数
     */
    int countByCourseId(int courseId);

    /**
     * 根据条件获取记录
     */
    List<UserBuy> getList(UserBuy userBuy, PageRequest page);

    /**
     * 根据条件判断用户是否购买了内容
     * typeId类别Id，infoId内容Id,userId用户Id
     * 返回boolean true表示购买了，false表示未购买
     */
    boolean checkIsBuy(UserBuy userBuy);

    boolean checkIsBuy(long userId, int moduleId, long infoId);

    int updateCombine(long userId1, long userId2);
}
